iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 17
1
AI & Data

保險相關資料庫設計系列 第 17

DAY17-SQL語法(JOIN 方法)

  • 分享至 

  • xImage
  •  

今天要來做第二張報表,下圖有這張報表所需要的欄位
https://ithelp.ithome.com.tw/upload/images/20201002/20130627zqdajyDDX3.png
因為有關於隱私,我就只截欄位,不過這張報表其實挺複雜的,總共會用到3個不同的TABLE,從todo_list ,salesman跟mobile_master,會用到JOIN語法,不過join有分為很多種

  1. INNER JOIN 內部合併查詢:
    內部查詢只會取回多個符合合併條件的資料
    https://ithelp.ithome.com.tw/upload/images/20201002/20130627sXUETG6NEJ.jpg
    INNER JOIN 只會取有重疊的欄位

  2. OUTER JOIN 外部合併查詢:
    跟內部查詢差再查詢結果並不是兩張資料表都一定存在的紀錄
     LEFT JOIN (左合併):取回左邊資料表所有紀錄
    https://ithelp.ithome.com.tw/upload/images/20201002/20130627CmePJLYjAm.jpg
    主要是以左邊的資料表為主,沒有重疊的欄位照樣取,但為空值,一般來說,比較常使用這個方法
     RIGHT JOIN (右合併): 取回右邊資料表所有紀錄

    主要是以右邊的資料表為主,沒有重疊的欄位照樣取,但為空值
    https://ithelp.ithome.com.tw/upload/images/20201002/20130627G9wzmgIfWO.jpg
     FULL JOIN(完全外部合併): 取回左、右邊資料表所有紀錄
    https://ithelp.ithome.com.tw/upload/images/20201002/201306276UzPjlNcgI.jpg
    兩資料表資料都會用到,沒有重疊的欄位照樣取,但為空值,一般來說,幾乎用不到這個方法,因為當你兩個資料表都有好幾千萬筆資料,會很吃電腦效能
     CROSS JOIN (交叉合併):兩資料表紀錄數的乘積,例如:
    A資料表有5筆紀錄,B資料表有4筆紀錄數,經過交叉查詢總共有5*4=20筆紀錄數


上一篇
DAY16-SQL語法(日轉換期)
下一篇
DAY18-SQL JOIN 語法實作
系列文
保險相關資料庫設計30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言